package edu.java.homework.hw07.test1;

// Даден е класът:
public class Test1 {
    public float aMethod(float a, float b) {
	return a + b;
    }
    // .....................( 1 )
}

/*
 * a) Кои от следващите методи ще бъдат невалидни, и защо ако се добавят (по
 * отделно) на реда отбелязан с ( 1 )
 * 
 * b) Кои от следващите методи ще бъдат невалидни, и защо ако се добавят (всички
 * зедно) на реда отбелязан с ( 1 )
 */

// A. --> ок, всичко е наред, overloading
// public int aMethod(int a, int b) {
// return a + b;
// }
// B. --> грешка, този метод има същия набор и ред на формалните параметри както
// вече декларирания
// public int aMethod(float b, float a) {
// return b + a;
// }
// C. --> ок, напълно легален overloading
// public float aMethod(int a, int b, int c) {
// return a + b + c;
// }
// D. --> грешка, този метод има същата сигнатура както първия.
// public float aMethod(float c, float d) {
// return c + d;
// }
// E. --> ок, всичко е наред. Ако обаче декларираме С и Е едновременно ще даде
// грешка, заради еднаквата сигнатура на методите
// private int aMethod(int a, int b, int c) {
// return a + b + c;
// }
// F. --> аналогично на Е
// private int aMethod(int a, int b, int c) {
// return a + b + c;
// }

